Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]gdzie wstawić <script> alert
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam.
Mam formularz z dwoma submitami. Oba generują pdfy, gdzie jeden jest do druku i zapisuje do bazy, a drugi powinien być tylko podglądem. W tym drugim przypadku chciałem, żeby po wybraniu opcji podgląd z formularza wyświetlał się w osobnym oknieku komunikat:
  1. echo "<script>alert('Komunikat');</script>";
  2. echo("<script>window.location.href =\"podglad.php\";</script>");

Plik który odpowiada za wysłanie do bazy bądź samo wygenerowanie z podglądu wygląda następująco:
  1. <?php
  2. include('browser.php');
  3. include('cookie.php');
  4. require('connect2.php');
  5. switch($_POST['submit']){
  6. case 'Zobacz':
  7. include('podglad.php');
  8. echo "<script>alert('Komunikat');</script>";
  9. echo ("<script>window.location.href =\"podglad.php\";</script>");
  10. include('podglad.php');
  11. break;
  12. case 'Zapisz':
  13. include('test3.php');
  14. break;
  15. }
  16. ?>

Gdziekolwiek nie postawie echo <script>... przed czy po include niestety nie działa tak jakbym sobie tego życzył. W przypadku postawienia przed include pojawia się komunikat, ale niestety nie generuje się podgląd włącza się obsługa błędów i zachowuje się tak jak zmienne z formularza nie zostały przesłane. Kiedy postawię za include to oczywiście generuje się podgląd, ale nie pokazuje się komunikat (to akurat oczywiste).
Natomist jeżeli taki komunikat znajdzie się w includowanym pliku, po obsłudze błędów wówczas powtarza się sytuacja nr 1.
Czy ktoś ma jakiś alternatywny pomysł jak cos takiego rozwiązać?
Z góry dziękuję za odpowiedź
Go to the top of the page
+Quote Post
skarabe.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 49
Dołączył: 29.07.2010

Ostrzeżenie: (0%)
-----


A po co Ci to przekierowanie?
Go to the top of the page
+Quote Post
jacusek
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


bez niego też niestety nie działa. Dostaję informację FPDF error: Some data has already been output, can't send PDF file. Szkoda tylko że nie wiem czgo to dotyczy konkretnie.
Go to the top of the page
+Quote Post
skarabe.pl
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 49
Dołączył: 29.07.2010

Ostrzeżenie: (0%)
-----


No bo niestety się wyświetlić PDF-a i HTML-a jednocześnie.
Go to the top of the page
+Quote Post
jacusek
post
Post #5





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


no tak, ale w takim razie gdzie to echo powinno się znaleźć
Go to the top of the page
+Quote Post
skarabe.pl
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 49
Dołączył: 29.07.2010

Ostrzeżenie: (0%)
-----


Jeżeli kod później generuje PDF-a i wyświetla go w przeglądarce, to nigdzie.
Go to the top of the page
+Quote Post
everth
post
Post #7





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Chyba że osadzi PDFa w <iframe>
Go to the top of the page
+Quote Post
jacusek
post
Post #8





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


za radą everth zrobiłem coś takiego:
przy case "zobacz:
  1. echo "<iframe width=\"300\" height=\"200\" src=\"podglad.php\">
  2. Tu napis lub odwołanie w przypadku gdy przeglądarka nie
  3. obsługuje pływających ramek</iframe>";

ale niestety włacza się obsługa błędów tak jakby nie przekazywał zmiennych do pliku podglad.php

//edit
zminiłem jeszcze na taką opcję:
  1. echo "<a href=\"podglad.php\" target=\"ramka\">";
  2. echo "<center><iframe align=\"center\" name =\"ramka\" width=\"800\" height=\"600\">
  3. Tu napis lub odwołanie w przypadku gdy przeglądarka nie
  4. obsługuje pływających ramek</iframe></center>";

ale to niestety to też jest nieskuteczne. Otwiera się pusta ramka. Nie bardzo wiem jak to dalej zrobić.

Ten post edytował jacusek 3.08.2010, 16:22:57
Go to the top of the page
+Quote Post
everth
post
Post #9





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Nie rozumiesz - do iframe możesz załadować tylko i wyłącznie PDFa - bez żadnych echo, var_dumpów czy printów. Skrypty ładujesz albo innym plikiem, albo tym samym z instrukcją warunkową np.
  1. if (isset($_GET['pdf']) {
  2. // wyrzuć tu samego pdfa
  3. } else {
  4. echo "<script>$twoj_skrypt</script>";
  5. echo "<iframe width=\"300\" height=\"200\" src=\"podglad.php?pdf\">
  6. Tu napis lub odwołanie w przypadku gdy przeglądarka nie
  7. obsługuje pływających ramek</iframe>";
  8. }


Ten post edytował everth 3.08.2010, 16:37:35
Go to the top of the page
+Quote Post
jacusek
post
Post #10





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam.
Nie bardzo rozumiem skąd mam wziać tą zmienną $_GET['pdf'] z czego ona ma wynikać. Dlaczego nie można tego zrobić w casie? Czy nie da się przekazać do zmiennych z formularza do pliku znajdującego się iframe?
Z góry dzieki za odpowiedź
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 12:31